package siac.com.controller;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.ExternalContext;

import siac.com.util.HttpJSFUtil;

@ManagedBean(name="beanGerador")
@SessionScoped
public class PageGenerator {
	public static final int HOME = 0, CRIA_LOCPAIS = HOME + 1,
			LISTA_LOCPAIS = CRIA_LOCPAIS + 1,
			MODIFICA_LOCPAIS = LISTA_LOCPAIS + 1,
			VISUALIZA_LOCPAIS = MODIFICA_LOCPAIS + 1,

			CRIA_LOCPROVINCIA = VISUALIZA_LOCPAIS + 1,
			LISTA_LOCPROVINCIA = CRIA_LOCPROVINCIA + 1,
			MODIFICA_LOCPROVINCIA = LISTA_LOCPROVINCIA + 1,
			VISUALIZA_LOCPROVINCIA = MODIFICA_LOCPROVINCIA + 1;

	public static final String PAGINA000 = "/templates/frCentro.xhtml",
			PAGINA100 = "/paginas/login.xhtml",
			PAGINA001 = "/paginas/atendNormal.xhtml",
			PAGINA002 = "/paginas/atendCredito.xhtml",
			PAGINA003 = "/paginas/facProcedimento.xhtml",
			PAGINA004 = "/paginas/facTipoProcedimento.xhtml",
			PAGINA005 = "/paginas/facPrecoProcedimento.xhtml",
			PAGINA006 = "/paginas/facTabelaPreco.xhtml",
			PAGINA007 = "/paginas/entidPaciente.xhtml",
			PAGINA008 = "/paginas/entidMedico.xhtml",
			PAGINA009 = "/paginas/entidEspecialidade.xhtml",
			PAGINA010 = "/paginas/entidEmpresa.xhtml",
			PAGINA011 = "/paginas/localPais.xhtml",
			PAGINA012 = "/paginas/localProvincia.xhtml",
			PAGINA013 = "/paginas/localMunicipio.xhtml";
	private String includedPage = "";
	private String paginaTopo = "frTopo.xhtml";
	private String paginaCentro = PAGINA000;
	private String paginaEsquerda = "";
	private String paginaDireita = "";

	private final Pagina pagina[] = {
			new Pagina(HOME, "Inicio", "/templates/home.jsf"),
			new Pagina(CRIA_LOCPAIS, "Novo País", "/criar/LocPais.jsf"),
			new Pagina(LISTA_LOCPAIS, "Lista Países", "/listar/LocPais.jsf"),
			new Pagina(MODIFICA_LOCPAIS, "Modifica País",
					"/modificar/LocPais.jsf"),
			new Pagina(VISUALIZA_LOCPAIS, "Visualiza País", "/ver/LocPais.jsf"),
			// ////////////////////////////////////////////////////////////////////////////
			new Pagina(CRIA_LOCPROVINCIA, "Novo País", "/criar/LocPais.jsf"),
			new Pagina(LISTA_LOCPROVINCIA, "Lista Países",
					"/listar/LocPais.jsf"),
			new Pagina(MODIFICA_LOCPROVINCIA, "Modifica País",
					"/modificar/LocPais.jsf"),
			new Pagina(VISUALIZA_LOCPROVINCIA, "Visualiza País",
					"/ver/LocPais.jsf") };

	
	
	public Pagina[] getPagina() {
		return pagina;
	}

	public String linkAction() {
		// Get the request parameter map from the context, so that we can find
		// which link of the side is clicked.
		ExternalContext ec = HttpJSFUtil.getExternalContext();
		String idSeleccionado = ec.getRequestParameterMap().get("idPagina");

		if (idSeleccionado.equalsIgnoreCase("Pagina000")) {
			paginaCentro = PAGINA000;
		} else if (idSeleccionado.equalsIgnoreCase("Pagina001")) {
			paginaCentro = PAGINA001;
		} else if (idSeleccionado.equalsIgnoreCase("Pagina002")) {
			paginaCentro = PAGINA002;
		} else if (idSeleccionado.equalsIgnoreCase("Pagina003")) {
			paginaCentro = PAGINA003;
		} else if (idSeleccionado.equalsIgnoreCase("Pagina004")) {
			paginaCentro = PAGINA004;
		} else if (idSeleccionado.equalsIgnoreCase("Pagina005")) {
			paginaCentro = PAGINA005;
		} else if (idSeleccionado.equalsIgnoreCase("Pagina006")) {
			paginaCentro = PAGINA006;
		} else if (idSeleccionado.equalsIgnoreCase("Pagina007")) {
			paginaCentro = PAGINA007;
		} else if (idSeleccionado.equalsIgnoreCase("Pagina008")) {
			paginaCentro = PAGINA008;
		} else if (idSeleccionado.equalsIgnoreCase("Pagina009")) {
			paginaCentro = PAGINA009;
		} else if (idSeleccionado.equalsIgnoreCase("Pagina010")) {
			paginaCentro = PAGINA010;
		} else if (idSeleccionado.equalsIgnoreCase("Pagina011")) {
			paginaCentro = PAGINA011;
		} else if (idSeleccionado.equalsIgnoreCase("Pagina012")) {
			paginaCentro = PAGINA012;
		} else if (idSeleccionado.equalsIgnoreCase("Pagina013")) {
			paginaCentro = PAGINA013;
		}
		return null;
	}

	public String getIncludedPage() {
		return includedPage;
	}

	public void setIncludedPage(String includedPage) {
		this.includedPage = includedPage;
	}

	public String getPaginaTopo() {
		return paginaTopo;
	}

	public void setPaginaTopo(String paginaTopo) {
		this.paginaTopo = paginaTopo;
	}

	public String getPaginaCentro() {
		return paginaCentro;
	}

	public void setPaginaCentro(String paginaCentro) {
		this.paginaCentro = paginaCentro;
	}

	public String getPaginaEsquerda() {
		return paginaEsquerda;
	}

	public void setPaginaEsquerda(String paginaEsquerda) {
		this.paginaEsquerda = paginaEsquerda;
	}

	public String getPaginaDireita() {
		return paginaDireita;
	}

	public void setPaginaDireita(String paginaDireita) {
		this.paginaDireita = paginaDireita;
	}

	private class Pagina {
		private int id;
		private String link;
		private String url;

		public Pagina(int id, String link, String url) {
			super();
			this.id = id;
			this.link = link;
			this.url = url;
		}

		public int getId() {
			return id;
		}

		public void setId(int id) {
			this.id = id;
		}

		public String getLink() {
			return link;
		}

		public void setLink(String link) {
			this.link = link;
		}

		public String getUrl() {
			return url;
		}

		public void setUrl(String url) {
			this.url = url;
		}

	}

}
